﻿Imports System.Drawing.Printing

Public Class frmKhoa
    Sub LoadDanhSach()
        Dim dt As DataTable
        dt = KhoaDAO.SelectAll()
        dgvKhoa.DataSource = dt
    End Sub
    Sub Them()
        Dim khoa As KhoaDTO = New KhoaDTO()
        khoa.MaKhoa = txtMaKhoa.Text
        khoa.Tenkhoa = txtTenKhoa.Text
        khoa.Diengiai = txtDienGiai.Text

        KhoaDAO.Insert(khoa)
        LoadDanhSach()
    End Sub
    Sub Xoa()
        Dim khoa As KhoaDTO = New KhoaDTO()
        khoa.MaKhoa = txtMaKhoa.Text
        KhoaDAO.Delete(khoa)
        LoadDanhSach()
    End Sub
    Sub Sua()
        Dim khoa As KhoaDTO = New KhoaDTO()
        khoa.MaKhoa = txtMaKhoa.Text
        khoa.Tenkhoa = txtTenKhoa.Text
        khoa.Diengiai = txtDienGiai.Text
        KhoaDAO.Update(khoa)
        LoadDanhSach()
    End Sub
    Sub Tim()
        Dim khoa As KhoaDTO = New KhoaDTO()
        khoa.MaKhoa = txtMaKhoa.Text
        khoa.Tenkhoa = txtTenKhoa.Text
        khoa.Diengiai = txtDienGiai.Text
        dgvKhoa.DataSource = KhoaDAO.SelectByKhoa(khoa)
    End Sub
    Sub Clear()
        txtMaKhoa.Text = ""
        txtTenKhoa.Text = ""
        txtDienGiai.Text = ""
        txtMaKhoa.Focus()
        'LoadDanhSach()
    End Sub
    Private Function CheckDataInput() As Boolean
        If txtMaKhoa.Text = "" Then
            MsgBox("Bạn hãy nhập mã khoa, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtMaKhoa.Focus()
            Return False
        ElseIf txtTenKhoa.Text = "" Then
            MsgBox("Bạn hãy nhập tên khoa, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtTenKhoa.Focus()
            Return False
        ElseIf txtDienGiai.Text = "" Then
            MsgBox("Bạn hãy nhập diễn giải, không để rỗng !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtDienGiai.Focus()
            Return False
        ElseIf IsNumeric(txtTenKhoa.Text) Then
            MsgBox("Tên khoa phải là chữ! không được nhập số", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtTenKhoa.Text = ""
            Return False
            txtTenKhoa.Focus()
        ElseIf IsNumeric(txtDienGiai.Text) Then
            MsgBox("Diễn giải không được nhập số", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Thông báo")
            txtDienGiai.Text = ""
            txtDienGiai.Focus()
            Return False
        End If
        Return True
    End Function
    Sub HienThi()
        If (dgvKhoa.SelectedRows.Count > 0) Then
            txtMaKhoa.Text = dgvKhoa.SelectedRows(0).Cells(0).Value.ToString()
            txtTenKhoa.Text = dgvKhoa.SelectedRows(0).Cells(1).Value.ToString()
            txtDienGiai.Text = dgvKhoa.SelectedRows(0).Cells(2).Value.ToString()
        End If
    End Sub
    Private Sub frmKhoa_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadDanhSach()

    End Sub

    Private Sub btnthoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnthoat.Click
        Me.Close()
    End Sub

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        Dim dt As New DataTable
        dt = KhoaDAO.SelectAll
        Dim tam As Integer = 0
        Dim tam1 As Integer = 0
        Dim i As Integer = 0
        While i <= dt.Rows.Count - 1
            If dt.Rows(i)("Makhoa") = txtMaKhoa.Text Then
                tam += 1
                i += 1
            ElseIf dt.Rows(i)("Tenkhoa") = txtTenKhoa.Text Then
                tam1 += 1
                i += 1
            Else
                i += 1
            End If
        End While
        If tam > 0 Then
            MsgBox("Không được nhập trùng Mã Khoa ! Vui lòng nhập lại !")
            txtMaKhoa.Text = ""
            txtMaKhoa.Focus()
        ElseIf tam1 > 0 Then
            MsgBox("Không được nhập trùng Tên Khoa ! Vui lòng nhập lại !")
            txtTenKhoa.Text = ""
            txtTenKhoa.Focus()
        Else
            If CheckDataInput() = True Then
                Them()
                Clear()
            End If
        End If
    End Sub

    Private Sub dgvKhoa_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvKhoa.SelectionChanged
        HienThi()
    End Sub

    Private Sub btnxoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        If dgvKhoa.SelectedRows.Count > 0 Then
            If MsgBox("Bạn có thật muốn xóa !", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Thông báo") = MsgBoxResult.Yes Then
                Xoa()
                LoadDanhSach()
                Clear()
            Else
                Exit Sub
            End If
        Else
            MsgBox("Chọn mẫu tin cần xoá !", MsgBoxStyle.Question + MsgBoxStyle.OkOnly, "Thông báo")
        End If
    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        Dim dt As New DataTable
        dt = KhoaDAO.SelectAll
        Dim tam As Integer = 0
        Dim tam1 As Integer = 0
        Dim i As Integer = 0
        While i <= dt.Rows.Count - 1
            If dt.Rows(i)("Makhoa") = txtMaKhoa.Text Then
                tam += 1
                i += 1
            ElseIf dt.Rows(i)("Tenkhoa") = txtTenKhoa.Text Then
                tam1 += 1
                i += 1
            Else
                i += 1
            End If
        End While
        If tam > 0 Then
            MsgBox("Không được nhập trùng Mã Khoa ! Vui lòng nhập lại !")
            txtMaKhoa.Text = ""
            txtMaKhoa.Focus()
        ElseIf tam1 > 0 Then
            MsgBox("Không được nhập trùng Tên Khoa ! Vui lòng nhập lại !")
            txtTenKhoa.Text = ""
            txtTenKhoa.Focus()
        Else
            If CheckDataInput() = True Then
                Sua()
                Clear()
            End If
        End If
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        Clear()

    End Sub

    Private Sub btntim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTim.Click
        Tim()
    End Sub

    Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIn.Click
        Dim f As New frmBaoCaoKhoa
        f.Show()
    End Sub
End Class